home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / gemxx19.zoo / gem++19 / include / grect.h < prev    next >
C/C++ Source or Header  |  1993-11-02  |  2KB  |  92 lines

  1. /////////////////////////////////////////////////////////////////////////
  2. //
  3. // File:    grect.h
  4. //
  5. // Description:    
  6. //        Die Klasse GRect ist ein GRECT im Sinne der ueblichen
  7. //        AES-Definition, erlaubt jedoch komplexere Operationen
  8. //        wie Vergleiche mit anderen Rectangles, Intersection,
  9. //        Herausfinden von diversen GRect's, die fuer zwei
  10. //        ueberlappende GRect's spezifisch sind (umgebendes GRect,
  11. //        daraus entstehende leere GRect's)
  12. //        ( Siehe Dokumentation )
  13. //
  14. // $Author$
  15. //        ( e-mail:    pareis@cs.tu-berlin.de            )
  16. //        ( NeXT-mail:    subiaagb@w271zrz.zrz.tu-berlin.de    )
  17. //
  18. // $Id$
  19. //
  20. /////////////////////////////////////////////////////////////////////////
  21.  
  22.  
  23. #ifndef _GRect_h
  24. #define _GRect_h
  25.  
  26.  
  27. #include <aesbind.h>
  28.  
  29.  
  30.  
  31.  
  32.  
  33. struct GRect : public GRECT
  34. {
  35.  
  36.     // Konstruktor:
  37.     GRect() {  }
  38.     GRect( int x, int y, int w, int h );
  39.     
  40.     // Memberfunktionen
  41.     GRect&    MoveAbs( int x, int y );
  42.     GRect&    MoveRel( int xOffset, int yOffset );
  43.     GRect&    Resize( int w, int h );
  44.     GRect&    SetRect( int x, int y, int w, int h );
  45.     
  46.     void    GetOrigin( int& x, int& y ) const;
  47.     void    GetSize( int& w, int& h ) const;
  48.     void    GetRect( int& x, int& y, int& w, int& h ) const;
  49.     
  50.     GRect&    Clip( const GRect& border );
  51.     GRect&    Bound( const GRect& border );
  52.     GRect&    Constrain( const GRect& border );
  53.  
  54.     GRect&    Scale(int hscale, int vscale);
  55.     
  56.     // Operatoren
  57.     int    operator==( const GRect& ) const;
  58.     int    operator!=( const GRect& ) const;
  59.     
  60. };
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. ////////////////////////////////////////////////////////////////////////
  68. //
  69. //    Inline Memberfunktionen
  70. //
  71. ////////////////////////////////////////////////////////////////////////
  72.  
  73.  
  74. inline void GRect::GetOrigin( int& x, int& y ) const
  75. {
  76.     x = g_x;
  77.     y = g_y;
  78. }
  79.  
  80.  
  81. inline void GRect::GetSize( int& w, int& h ) const
  82. {
  83.     w = g_w;
  84.     h = g_h;
  85. }
  86.  
  87.  
  88.  
  89. #endif
  90.  
  91. //EOF//
  92.